package aufgabe7;

public class Mainclass {

	public static void main(String[] args) {
		int[] kursWerte = new int[8];
		kursWerte[0] = 4;
		kursWerte[1] = 8;
		kursWerte[2] = 4;
		kursWerte[3] = 9;
		kursWerte[4] = 1;
		kursWerte[5] = 2;
		kursWerte[6] = 8;
		kursWerte[7] = 0;
		
		int[] kursWerte2 = new int[8];
		kursWerte2[0] = 8;
		kursWerte2[1] = 7;
		kursWerte2[2] = 6;
		kursWerte2[3] = 5;
		kursWerte2[4] = 4;
		kursWerte2[5] = 3;
		kursWerte2[6] = 2;
		kursWerte2[7] = 1;
		
		int[] werte3 = new int[1];
		werte3[0] = 3;
		
		int[] besteInvestierungen = InvestierungsRechner.besteInvestierung(kursWerte);
		int[] besteInvestierungen2 =  InvestierungsRechner.besteInvestierung2(kursWerte);
		int[] besteInvestierungen3 = InvestierungsRechner.besteInvestierung3(kursWerte);

		System.out.println("\n" + "\n" + "kursWerte" + "\n");
		printInvestment(besteInvestierungen, kursWerte, "O(n*n)");
		printInvestment(besteInvestierungen2, kursWerte, "O(n*log(n)");
		printInvestment(besteInvestierungen3, kursWerte, "O(n)");
		
		besteInvestierungen = InvestierungsRechner.besteInvestierung(werte3);
		besteInvestierungen2 =  InvestierungsRechner.besteInvestierung2(werte3);
		besteInvestierungen3 = InvestierungsRechner.besteInvestierung3(werte3);
		
		System.out.println("\n" + "\n" + "werte3" + "\n");
		printInvestment(besteInvestierungen, werte3, "O(n*n)");
		printInvestment(besteInvestierungen2, werte3, "O(n*log(n)");
		printInvestment(besteInvestierungen3, werte3, "O(n)");
		
		besteInvestierungen = InvestierungsRechner.besteInvestierung(kursWerte2);
		besteInvestierungen2 =  InvestierungsRechner.besteInvestierung2(kursWerte2);
		besteInvestierungen3 = InvestierungsRechner.besteInvestierung3(kursWerte2);
		
		System.out.println("\n" + "\n" + "kursWerte2" + "\n");
		printInvestment(besteInvestierungen, kursWerte2, "O(n*n)");
		printInvestment(besteInvestierungen2, kursWerte2, "O(n*log(n)");
		printInvestment(besteInvestierungen3, kursWerte2, "O(n)");
		
	}

	public static void printInvestment(int[] investment, int[] kurswerte, String Art){
		
		if(kurswerte.length <= 0){
			System.out.print("\n" + "Investieren " + Art + ":");
			System.out.print("Ungueltige KursWerte " + "\n"  + "\n");
		} else {
		System.out.print("\n" + "Investieren " + Art + ": \n");
		System.out.print("Der beste Kauf (Zeitpunkt) fuer den Kurs: " + investment[0] + ", Mit dem Wert: " + kurswerte[investment[0]] + "\n");
		System.out.print("Der beste Verkauf (Zeitpunkt) fuer den Kurs: " + investment[1] + ", Mit dem Wert: " + kurswerte[investment[1]] + "\n" + "\n");
		}
	}
}
